草庐IT

TypeScript 模块

全部标签

javascript - 如何使用 angular2 和 typescript 链接 3 个 Promise

我已经成功地链接了promise,但我发现我做这件事的方式足够复杂:我想知道是否有更优雅的方式来做到这一点。我使用Angular2、Typescript和signalR。我有一个服务getIntervention,它通过Id从服务器返回一个对象。在调用getIntervention之前,我想检查要连接到服务器的客户端,在连接到服务器之前,我想要加载SignalR脚本。所以我创建了第一个promisescriptLoadedPromise,它等待加载SignalR脚本。当scriptLoadedPromise被解析时,一个新的promiseconnectionPromise被创建,等待连

javascript - Chrome 扩展程序中的 Wasm 模块编译错误

在我的扩展中,我想使用我自己的WebAssembly模块。加载我的模块后(到background.html或popup.html),我发现了编译错误:CompileError:WebAssembly.compile():Wasmcodegenerationdisallowedbyembedder.Chrome扩展是否不支持wasm模块? 最佳答案 似乎来自thisissueChrome需要script-src:'unsafe-eval'CSP指令对WebAssembly编译有效。参见thisdiscussion至于为什么会这样,至少

javascript - TypeScript 属性中的 readonly 与 get 之间有什么区别?

在TypeScript中将属性声明为readonly与通过get()创建它之间是否存在功能差异?两者的行为相同,但最好知道除了偏好之外是否还有理由使用其中一个。 最佳答案 它对生成的JavaScript有所不同:getter将是一个访问器属性(例如,函数),readonly属性将是一个数据属性。这:classExample{getfoo():string{return"foo";}readonlybar:string="bar";}如果您以ES2015+为目标,则转换为:"usestrict";classExample{constr

javascript - 为什么要将窗口对象传递给模块模式?

这是一个自执行的匿名方法。将窗口作为全局传递似乎是一种很好的做法。如果窗口已经随处可用,为什么要这样做?(function(global){/*mycode*/global["someName"]=someObject;})(window); 最佳答案 它跳过了必须进行范围查找的代码,因为global是在函数内部定义的。编辑——这是一种性能优化。javascript中的作用域仅限于函数作用域。global在这种情况下是在该范围内定义的,因此当代码命中global[...]时,它会查看它的直接范围(在函数内)并找到global马上。否

javascript - 当配置依赖于 RequireJS 时使用 RequireJS 配置模块

如果我在文档中遗漏了这一点,我深表歉意。基本上我想使用RequireJS模块配置功能。我想集中管理包中模块的配置值。这是文档中的示例:requirejs.config({config:{'bar':{size:'large'},'baz':{color:'blue'}}});//bar.js,whichusessimplifiedCJSwrapping:define(function(require,exports,module){//Willbethevalue'large'varsize=module.config().size;});//baz.jswhichusesadepen

javascript - Angular 模块私有(private)成员

在AngularJS中,是否可以创建私有(private)Controller或服务,这些Controller或服务可以在定义它们的模块中使用,但不能由它们注入(inject)的另一个模块使用。比如PrivateController是否可以设为子模块私有(private):angular.module('Child',[]).controller('PublicController',function($scope){$scope.children=['Bob','Sue'];}).controller('PrivateController',function($scope){$sco

Javascript 模块化算法

Javascript将以下代码片段计算为-1。-5%4我理解余数定理表明a=bq+r使得0≤r 最佳答案 因为它是一个remainderoperator,不是模数。但是有一个proposalforaproperone.引自Ecma5.1remainderrfromadividendnandadivisordisdefinedbythemathematicalrelationr=n−(d×q)whereqisanintegerthatisnegativeonlyifn/disnegativeandpositiveonlyifn/dis

javascript - 在 TypeScript 中对函数使用静态修饰符有什么好处吗?

我最近开始使用TypeScript,我的IDEWebStorm提示我可以使用静态修饰符...exportdefaultclassMyClass{publicbar():any{//dosth.withinstancevalues}privatefoo(a:any,b:any):any{//dosth.withoutinstancevalues,likechecking}}在这里我会收到一个警告,提示foo(a,b)可以被声明为static。现在我关闭了那个“警告”,因为我主要将静态的自由使用视为“代码味道”,但话又说回来我不是TypeScript的专家。使用static修饰符有什么重要

javascript - 使用 Jasmine 测试 Angular2/TypeScript 管道

我有一个带有TypeScript应用程序设置的Angular2,带有非常基本的Jasmine测试。我想测试我的一根pipe。lpad.pipe.tsimport{Pipe,PipeTransform}from'@angular/core';@Pipe({name:'lpad'})exportclassLPadPipeimplementsPipeTransform{transform(value:any,args:string[]):any{letpad=args[0];return(pad+value).slice(-pad.length);}}在html模板中的用法:{{size.S

javascript - 使用 Jest 模拟请求 header 模块

functioncreateRequest(method){constinit={method,headers:newHeaders({.....}),};returnnewRequest(url,init);}我在上面的代码(https://davidwalsh.name/fetch)中使用请求header(带Fetch)然而,在使用Jest编写单元测试用例时,它给了我这个错误:ReferenceError:Headersisnotdefined我是否需要模拟这些标准模块?单元测试用例中如何导入Headers 最佳答案 我说是的,